This invention relates to a numerical control method which controls a driving section of a numerical control machine tool to limit path errors caused by the discrepancy between a target tool path of machining program instructions and an actual tool path of the machine tool within tolerable path errors entered previously.
In prior art numerical control (NC) machine tools, an input machining program instructs the machining shape, feed speed, tools to be used, etc. for a machining process. However, in actual practice, deviations (or path errors) are often caused between the target tool path as instructed by the machining program and the actual path taken by the tool as a result of time lags and so on in the machine servo system. The path errors are particularly conspicuous in curved shapes which fluctuate when the cutting speed is high and especially in corners where the change rate for the curves is drastic.
In order to overcome such problems, there has recently been proposed a numerical control method which calculates the feed speed based on an instructed target path so as to limit path errors within a tolerable range, and controls the driving section of the NC machine tool based on the calculated feeding speed.
FIG. 1 is a block diagram showing an embodiment of the NC system which realizes a prior art numerical control method.
In FIG. 1, the NC system which realizes the conventional numerical control method comprises a machining program 1 stored on a sheet of paper tape, an outside input device 2 which is inputted with a tolerable path error (hereinafter refer to a first path error) E.sub.t, a machining program interpreting section 3 which interprets the content of the machining program 1 and which calculates a first machining path P.sub.c and a first feed speed F.sub.c, an instructed shape evaluating section 4 which calculates the machining shape data (hereinafter refer to a first shape evaluated data) SD, a function generating section 5 which calculates an amount of movement .DELTA.f per unit time, a feed speed correcting section 9 which corrects the first feed speed F.sub.c, a feed shaft motor (M)7 which drives a machine tool, a servo controlling section 6 which controls the feed shaft motor 7, and a position detector (D) 8 which detects the actual position of the tool and so on.
In the machining program 1, machining paths (relative moving paths of a tool to a work) and feed speed (relative speed of a tool to a work) which are designed by an operator are described. The machining program interpreting section 3 inputs the machining program 1 and outputs the first machining path P.sub.c and the first feed speed F.sub.c.
The machining program 1 is read by a block and the first machining path P.sub.c and the first feed speed F.sub.c are calculated. As machining paths described in the machining program 1 include amounts of an origin offset, a tool offset e.g., the first machining path P.sub.c is calculated by adding amounts of the origin offset, the tool offset e.g. to the machining paths described in the machining program 1. As to the first feed speed F.sub.c, it is the same as a feed speed described in the machining program 1, in the concrete, if a feed speed instruction is included in a block, this section renews the first feed speed F.sub.c. The instructed shape evaluating section 4 inputs the first machining path P.sub.c and outputs the first shape evaluated data SD.
Coordinates data which make the first machining path P.sub.c are represented P.sub.c (i). ##EQU1## Radius of a circle on which P.sub.c (i), P.sub.c (i+1), P.sub.c (i-1) lie is represented R.sub.c (i). Angle at which line segment P.sub.c (i-1)P.sub.c (i) and line segment P.sub.c (i)P.sub.c (i+1) meet is represented as Ag(i).
Example of calculating the first shape evaluated data SD is as follows:
The first shape evaluated data SD which are calculated with the coordinates data P.sub.c (i) which make the first machining path P.sub.c are represented SD(i). ##EQU2##
The above prior art NC system effects numerical controlled machining in the following manner.
The machining program 1 is inputted to the NC system via a tape reader or the like, and the data of each block of the machining program 1 is read out in the machining program interpreting section 3. The machining program interpreting section 3 analyses each block of data to calculate the first machining path P.sub.c and the first feed speed F.sub.c. The first machining path P.sub.c is inputted to the function generating section 5 as well as in the instructed shape evaluating section 4, which subsequently calculates the first shape evaluated data SD based on the inputted first machining P.sub.c.
The first shape evaluated data SD is fed to a feed speed correcting section 9, which inputs the first feed speed F.sub.c, the first path error E.sub.t, the first evaluated data SD, the amount of movement .DELTA.f per unit of time (data outputted from the function generating section 5) and the detected value P.sub.a (the actual machining path which is outputted from the position detector 8 attached to a feed shaft motor 7), and outputs the third feed speed F.sub.ex.
The operation will be described with reference to FIG. 2.
Radius of curvature R.sub.c (i) on the point specified by the coordinates data P.sub.c (i) which make the first machining path P.sub.c is adopted as the first shape evaluated data SD. A d.sub.t (t) which is a follow-up lag at a time "t" is related to coordinates data at a time "t" of the first machining path, denoted P.sub.c (t), and coordinates data at a time "t" of the actual machining path, denoted P.sub.a (t), as following formula. EQU d(t)=P.sub.c (t)-P.sub.a (t) (3)
FIG. 3 is a flow chart showing the operation of the feed speed correcting section 9 described below.
A tolerable follow-up lag "d.sub.r " is calculated which causes a path error which is equal to the first path error E.sub.t in case driving feed shaft motor 7 under the condition that; machining path=the first machining path P.sub.c (Step S10). The detail content of predicting the tolerable follow-up lag "d.sub.r " is distinct because the first machining path P.sub.c is approximated to the curved line of which curvature radius is R.sub.c (i) using the first shape evaluated data SD, therefore its description will be omitted here. The coordinates data of an instructed machining path (which is virtually the same as the first machining path P.sub.c) are calculated by accumulating the amount of movement .DELTA.f per unit of time, and an actual follow-up lag calculated by subtracting the detected actual machining path P.sub.a from the calculated coordinates data (Step S11). If the actual follow-up lag&gt;the tolerable follow-up lag "d.sub.r "; the third feed speed F.sub.ex decreasing the first feed speed F.sub.c (Steps S12 and S13). If the actual follow-up lag=the tolerable follow-up lag "dr"; the third feed speed F.sub.ex is set up equal to the first feed speed F.sub.c (Steps S14 and S15). If the actual follow-up lag&lt;the tolerable follow-up lag "d.sub.r "; the third feed speed F.sub.ex is calculated by increasing the first feed speed F.sub.c, or the third feed speed F.sub.ex is set up equal to the first feed speed F.sub.c (Step S16).
Lastly, the function generating section 5 calculates the amount of movement .DELTA.f per unit time based on the first machining path P.sub.c and the third feed speed F.sub.ex, and the servo controlling section 6 drives the feed shaft moter 7 based on the amount of movement .DELTA.f per unit of time.
As mentioned above, the prior art system limits the path errors to within the first path error E.sub.t range by comparing the tolerable follow-up lag calculated from the machining program target path and the first path error E.sub.t inputted in advance with the actual follow-up lag, and correcting the first feed speed F.sub.c to remain within the tolerable follow-up lag.
However, the prior art numerical control method mentioned above is inconvenient in that even if the machining program instructs a high cutting speed to finish the machining in a short period of time, cutting cannot be performed at a high speed at locations where the machining shape rapidly changes, such as a curved portion or at corners where the rate of change is high. Therefore, the total machining time is inevitably increased. The increase in machining time poses a particularly serious problem in metal die machining which often takes a long time.